package com.canaan.business.domain.agv;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.canaan.common.annotation.Excel;
import com.canaan.common.annotation.TableName;
import com.canaan.common.core.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 任务配置对象 wcs_agv_task_config
 *
 * @author 
 * @date 2023-03-02
 */
@ApiModel(description = "wcs_agv_task_config")
@TableName("wcs_agv_task_config")
public class AgvTaskConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${comment}")
    private Long id;

    /** 配置编码 */
    @Excel(name = "配置编码")
    @ApiModelProperty("配置编码")
    private String code;

    /** 任务名称 */
    @Excel(name = "任务名称")
    @ApiModelProperty("任务名称")
    private String name;

    /** 任务类型(出库OUT,回库IN) */
    @Excel(name = "任务类型(出库OUT,回库IN)")
    @ApiModelProperty("任务类型(出库OUT,回库IN)")
    private String type;

    /** AGV类型 潜伏式:LURK；抱夹式:CLASP;叉车式:FORKLIFT; */
    @Excel(name = "AGV类型 潜伏式:LURK；抱夹式:CLASP;叉车式:FORKLIFT;")
    @ApiModelProperty("AGV类型 潜伏式:LURK；抱夹式:CLASP;叉车式:FORKLIFT;")
    private String agvType;

    /** 源库区 */
    @Excel(name = "源库区")
    @ApiModelProperty("源库区")
    private String startAreaCode;

    /** 目的地库区 */
    @Excel(name = "目的地库区")
    @ApiModelProperty("目的地库区")
    private String endAreaCode;

    /** 模板编码 */
    @Excel(name = "模板编码")
    @ApiModelProperty("模板编码")
    private String templateCode;

    /** 模板名称 */
    @Excel(name = "模板名称")
    @ApiModelProperty("模板名称")
    private String templateName;

    /** 是否可用 已停用:DEACTIVATED;已启用:ENABLED;默认:DEACTIVATED; */
    @Excel(name = "是否可用 已停用:DEACTIVATED;已启用:ENABLED;默认:DEACTIVATED;")
    @ApiModelProperty("是否可用 已停用:DEACTIVATED;已启用:ENABLED;默认:DEACTIVATED;")
    private String status;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /** 版本 */
    @Excel(name = "版本")
    @ApiModelProperty("版本")
    private Long version;

    /** 删除标志 0-未删除 1-已删除 */
    @ApiModelProperty("版本")
    private Integer delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setAgvType(String agvType)
    {
        this.agvType = agvType;
    }

    public String getAgvType()
    {
        return agvType;
    }
    public void setStartAreaCode(String startAreaCode)
    {
        this.startAreaCode = startAreaCode;
    }

    public String getStartAreaCode()
    {
        return startAreaCode;
    }
    public void setEndAreaCode(String endAreaCode)
    {
        this.endAreaCode = endAreaCode;
    }

    public String getEndAreaCode()
    {
        return endAreaCode;
    }
    public void setTemplateCode(String templateCode)
    {
        this.templateCode = templateCode;
    }

    public String getTemplateCode()
    {
        return templateCode;
    }
    public void setTemplateName(String templateName)
    {
        this.templateName = templateName;
    }

    public String getTemplateName()
    {
        return templateName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }
    public void setDelFlag(Integer delFlag)
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("name", getName())
            .append("type", getType())
            .append("agvType", getAgvType())
            .append("startAreaCode", getStartAreaCode())
            .append("endAreaCode", getEndAreaCode())
            .append("templateCode", getTemplateCode())
            .append("templateName", getTemplateName())
            .append("status", getStatus())
            .append("sort", getSort())
            .append("version", getVersion())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .toString();
    }
}
